Any references to methods, apparatus or documents of the prior art are not to be taken as constituting any evidence or admission that they formed, or form part of the common general knowledge in any country in the world.
3D computer graphics technology is used to convert data describing a three dimensional scene into a two-dimensional image for viewing on an electronic display screen. It will be understood that the term “scene” as used herein, including throughout the claims, is to be understood in a broad sense as including both very complex scenes but also those that comprise only a few or a single object or indeed at its very simplest merely a collection of one or more visible points.
One area, though by no means the only area, where intensive computer graphics development has occurred over the last two decades has been that of computer and video gaming.
The development and marketing of computer games is now a very significant proportion of the global entertainment industry. For example, in 2010 the CALL OF DUTY BLACK OPS® video game enjoyed over US$650 million worth of sales in its first five days of retailing.
In order to afford game players with an ever more realistic gaming experience, much development has been poured into increasing the speed and realism with which game scenes can be rendered.
During the rendering of a game scene the data which represents the scene, e.g. the positional data associated with each object in the scene, must be processed by the processors of the gaming machine to project the data from the 3D space of the scene to 2D data suitable for display by the machines display device. This transformation must take into account the position and viewing angle of the player relative to the scene. Since humans perceive perspective foreshortening in their normal visual system, the computer graphics rendering methods typically employ perspective projections.
Perspective projections are computationally intensive because they involve trigonometric calculations which are typically applied with operations including matrix and vector multiplications. Consequently, as the amount of detail, e.g. positional data, that is recorded in scene increases, the number of lengthy calculations that must be employed to render the scene also increases. These additional calculations may require that the game be played at a reduced frame rate.
Therefore, it will be realized that there is a tradeoff between increasing scene realism and maintaining frame rate. One widely adopted approach to addressing this problem has been to render scenes using a plurality of flat polygons. Polygon meshes are used to model the objects of the scene that it is desired to render. The corners of the polygons are then transformed from 3D to 2D and displayed to the user. In order to accommodate both increased scene detail and high frame rates manufactures such as ATI and NVIDIA develop and market dedicated graphics processor cards for incorporation into gaming machines.
However, there are many limitations associated with polygon systems as they are presently implement. For example, because polygons have linear boundaries they cannot be used to represent curved objects easily. Furthermore, even with the use of dedicated graphics processors, the human eye is still sensitive to curved objects being approximated with the straight edges of polygons. Consequently, these polygon based systems are both computationally intensive to implement and also unsatisfying to discerning game players.
It would be advantageous if a computer graphics method for displaying three dimensional scenes were provided that overcame the problems of the prior art discussed above or which is at least a useful alternative to those methods that have hitherto been known.